package com.sinodata.bsm.common.vo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * QueryDimension entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "QUERY_DIMENSION")
public class QueryDimension implements java.io.Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 973441856411665775L;

    // Fields 
    private Long id;
    private String name;
    private String desc;
    private Long order;
    private String firstDimCode;
    private Long firstDimLevel;
    private String firstDimScope;
    private String secondDimCode;
    private Long secondDimLevel;
    private String secondDimScope;
    private String thirdDimCode;
    private Long thirdDimLevel;
    private String thirdDimScope;

    // Constructors

    /** default constructor */
    public QueryDimension() {
    }

    /** minimal constructor */
    public QueryDimension(Long id) {
        this.id = id;
    }

    /** full constructor */
    public QueryDimension(Long id, String name, String desc, Long order, String firstDimCode, Long firstDimLevel, String firstDimScope, String secondDimCode, Long secondDimLevel, String secondDimScope, String thirdDimCode, Long thirdDimLevel, String thirdDimScope) {
        this.id = id;
        this.name = name;
        this.desc = desc;
        this.order = order;
        this.firstDimCode = firstDimCode;
        this.firstDimLevel = firstDimLevel;
        this.firstDimScope = firstDimScope;
        this.secondDimCode = secondDimCode;
        this.secondDimLevel = secondDimLevel;
        this.secondDimScope = secondDimScope;
        this.thirdDimCode = thirdDimCode;
        this.thirdDimLevel = thirdDimLevel;
        this.thirdDimScope = thirdDimScope;
    }

    // Property accessors
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequence")
    @SequenceGenerator(name = "sequence", sequenceName = "QUERY_DIMENSION_SEQ")
    @Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0)
    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(name = "NAME", length = 128)
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "DESC_", length = 512)
    public String getDesc() {
        return this.desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    @Column(name = "ORDER_", precision = 22, scale = 0)
    public Long getOrder() {
        return this.order;
    }

    public void setOrder(Long order) {
        this.order = order;
    }

    @Column(name = "FIRST_DIM_CODE", length = 128)
    public String getFirstDimCode() {
        return this.firstDimCode;
    }

    public void setFirstDimCode(String firstDimCode) {
        this.firstDimCode = firstDimCode;
    }

    @Column(name = "FIRST_DIM_LEVEL", precision = 22, scale = 0)
    public Long getFirstDimLevel() {
        return this.firstDimLevel;
    }

    public void setFirstDimLevel(Long firstDimLevel) {
        this.firstDimLevel = firstDimLevel;
    }

    @Column(name = "FIRST_DIM_SCOPE", length = 2048)
    public String getFirstDimScope() {
        return this.firstDimScope;
    }

    public void setFirstDimScope(String firstDimScope) {
        this.firstDimScope = firstDimScope;
    }

    @Column(name = "SECOND_DIM_CODE", length = 128)
    public String getSecondDimCode() {
        return this.secondDimCode;
    }

    public void setSecondDimCode(String secondDimCode) {
        this.secondDimCode = secondDimCode;
    }

    @Column(name = "SECOND_DIM_LEVEL", precision = 22, scale = 0)
    public Long getSecondDimLevel() {
        return this.secondDimLevel;
    }

    public void setSecondDimLevel(Long secondDimLevel) {
        this.secondDimLevel = secondDimLevel;
    }

    @Column(name = "SECOND_DIM_SCOPE", length = 2048)
    public String getSecondDimScope() {
        return this.secondDimScope;
    }

    public void setSecondDimScope(String secondDimScope) {
        this.secondDimScope = secondDimScope;
    }

    @Column(name = "THIRD_DIM_CODE", length = 128)
    public String getThirdDimCode() {
        return this.thirdDimCode;
    }

    public void setThirdDimCode(String thirdDimCode) {
        this.thirdDimCode = thirdDimCode;
    }

    @Column(name = "THIRD_DIM_LEVEL", precision = 22, scale = 0)
    public Long getThirdDimLevel() {
        return this.thirdDimLevel;
    }

    public void setThirdDimLevel(Long thirdDimLevel) {
        this.thirdDimLevel = thirdDimLevel;
    }

    @Column(name = "THIRD_DIM_SCOPE", length = 2048)
    public String getThirdDimScope() {
        return this.thirdDimScope;
    }

    public void setThirdDimScope(String thirdDimScope) {
        this.thirdDimScope = thirdDimScope;
    }

    @Override
    public String toString() {
        return "QueryDimension [id=" + id + ", name=" + name + ", desc=" + desc + ", order=" + order + ", firstDimCode=" + firstDimCode + ", firstDimLevel=" + firstDimLevel + ", firstDimScope=" + firstDimScope + ", secondDimCode=" + secondDimCode + ", secondDimLevel=" + secondDimLevel + ", secondDimScope=" + secondDimScope + ", thirdDimCode=" + thirdDimCode + ", thirdDimLevel=" + thirdDimLevel + ", thirdDimScope=" + thirdDimScope + "]";
    }

}